﻿#define _CRT_SECURE_NO_WARNINGS

#include<stdio.h>

//判断回⽂字符串
//输⼊⼀个字符串，判断这个字符串是否是回⽂字符串（字符串的⻓度⼩于等于30，字符串不包含空
//格），如果是回⽂字符串输出Yes，如果不是回⽂字符串输出No。

//#include<string.h>
//int main()
//{
//	char arr[31] = {0};
//	printf("请输入一个字符串：\n");
//	scanf("%s",arr);
//	int len = strlen(arr);
//	//循环比较首位的字符串是否相同
//	int left = 0;
//	int right = len - 1;
//	int flag = 1;
//
//	while (left<right)
//	{
//		if (arr[left] != arr[right])
//		{
//			flag = 0;
//			printf("No");
//			break;
//		}
//		left++;
//		right--;
//	}
//	if (flag)
//	{
//		printf("Yes");
//	}
//}


//计算天数
//输⼊y和m两个整数，y表⽰年份，m表⽰⽉份，计算y年m⽉有多少天，并输出天数。
//思路：年份需要时闰年还是平年
// 闰年：能被4整除且不能被100整除 或者 能被400整除
// 1 3 5 7 8 10 12月有31天  4 6 9 11 月有30天    2月闰年29天 平年28天

//int main()
//{
//	int year = 0;
//	int month = 0;
//	int day = 0;
//	printf("请输入年份月份：\n");
//	scanf("%d %d",&year,&month);
//
//	//判断数据是否合法
//	if (year <= 0 || month < 1 || month >12)
//	{
//		printf("输入数据不合法\n");
//		exit(1);
//	}
//
//	//判断是否是闰年
//	int flag = 0; //0表示平年  1表示闰年
//	if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))
//	{
//		flag = 1;
//	}
//
//	//判断月份
//	//在闰年里
//	if (flag)
//	{
//		if ((month == 1) || (month == 3) || (month == 5) || (month == 7) || (month == 8) || (month == 10) || (month == 12))
//			day = 31;
//		else if ((month == 4) || (month == 6) || (month == 9) || (month == 11))
//		{
//			day = 30;
//		}
//		else if (month==2)
//		{
//			day = 29;
//		}
//	}
//	//在平年里
//	else
//	{
//		if ((month == 1) || (month == 3) || (month == 5) || (month == 7) || (month == 8) || (month == 10) || (month == 12))
//			day = 31;
//		else if ((month == 4) || (month == 6) || (month == 9) || (month == 11))
//		{
//			day = 30;
//		}
//		else if (month == 2)
//		{
//			day = 28;
//		}
//	
//	}
//
//	printf("%d",day);
//
//}
//简化版本
//int get_month_of_day(int y, int m)
//{
//	int days[13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };
//	//判断是否是闰年
//	int flag = 0; //0表示平年  1表示闰年
//	if ((y % 4 == 0 && y % 100 != 0) || (y % 400 == 0))
//	{
//		flag = 1;
//	}
//	int day = days[m];
//	if (flag)
//	{
//		day += 1;
//	}
//	return day;
//}
//int main()
//{
//	int year = 0;
//	int month = 0;
//	int day = 0;
//	printf("请输入年份月份：\n");
//	scanf("%d %d",&year,&month);
//	day=get_month_of_day(year, month);
//	printf("%d",day);
//	return 0;
//}

//删除指定的数
//先输⼊10个整数存放在数组中，再输⼊⼀个整数n，删除数组中所有等于n的数字，数组中剩余的数
//组保证数组的最前⾯，打印剩余的数字。

//先查找到该数，然后依次将后面的数往前移动覆盖这个数


//void delet_num(int arr[],int len, int num)
//{
//	int i;
//	int j;
//	int count = 0;
//	for (i = 0; i < len; i++)
//	{
//		if (arr[i] == num)
//		{
//			count++;
//		}
//	}
//	while (count)
//	{
//		for (i = 0; i < len; i++)
//		{
//			if (arr[i] == num)
//			{
//				break;
//			}
//		}
//		for (int j = i; j < len - 1; j++)
//		{
//			arr[j] = arr[j + 1];
//		}
//		arr[len - 1] = NULL;
//		count--;
//	}
//}
//
//int main()
//{
//	int arr[10] = { 0 };
//	int len = sizeof(arr) / sizeof(arr[0]);
//	int i;
//	int j;
//
//	printf("请输入十个数：\n");
//	for (int i = 0; i < len; i++)
//	{
//		scanf("%d", &arr[i]);
//	}
//	int num = 0;//要删除的数
//	printf("请输入要删的数：\n");
//	scanf("%d",&num);
//	delet_num(arr, len, num);
//	//打印
//	for (int j = 0; j < len; j++)
//	{
//		if (arr[j] != NULL) 
//		{
//			printf("%d ", arr[j]);
//		}
//	}
//}

//优化版
int main()
{
	int arr[10] = { 0 };
	int len = sizeof(arr) / sizeof(arr[0]);
	int i;
	printf("请输入十个数：\n");
	for (int i = 0; i < len; i++)
	{
		scanf("%d", &arr[i]);
	}

	int delet = 0;//要删除的数
	printf("请输入要删的数：\n");
	scanf("%d",&delet);

	int j = 0;
	for (int i = 0; i < len; i++)
	{
		if (arr[i] != delet)
		{
			arr[j++] = arr[i];
		}
	}

	//打印
	for (i = 0; i < j; i++)
	{
		printf("%d ",arr[i]);
	}
}